﻿using System;
using System.Collections.Generic;
using System.Net;
using System.Threading.Tasks;
using Ec.NETCoreFramework.Common;
using Ec.NETCoreFramework.Common.Core;
using RedLockNet.SERedis;
using RedLockNet.SERedis.Configuration;

namespace Ec.NETCoreFramework.Common.Cache
{
    public interface IRedDistributedLock
    {

        Task<IResponse> BlockingWork(string resource, TimeSpan expiryTime, TimeSpan waitTime, Func<Task<IResponse>> work);
    }
}
